package Leetcode.lc543;

import Leetcode.tools.TreeNode;

public class Sloution {
    /***
     * 给你一棵二叉树的根节点，返回该树的 直径 。
     *
     * 二叉树的 直径 是指树中任意两个节点之间最长路径的 长度 。这条路径可能经过也可能不经过根节点 root 。
     *
     * 两节点之间路径的 长度 由它们之间边数表示。
     * @param root
     * @return
     */
    int ans=0;
    public int diameterOfBinaryTree(TreeNode root) {
        pathFind(root);
       return ans;
    }
    public  int  pathFind(TreeNode treeNode){
        if(treeNode==null) return -1;
        int left=pathFind(treeNode.left)+1;
        int right=pathFind(treeNode.right)+1;
        ans=Math.max(ans,left+right);
        return Math.max(left,right);

    }
}
